Fix MISRA defects in SP805 driver
authorAntonio Nino Diaz <[email protected]>
Tue, 24 Jul 2018 10:27:52 +0000 (11:27 +0100)
committerAntonio Nino Diaz <[email protected]>
Mon, 30 Jul 2018 08:30:15 +0000 (09:30 +0100)
Fix violations of MISRA C-2012 Rules 10.1, 10.3 and 10.4.

Change-Id: I13c6acda798c1666892f630f097a23e68748f9e4
Signed-off-by: Antonio Nino Diaz <[email protected]>
drivers/arm/sp805/sp805.c
include/drivers/arm/sp805.h

index 98df7e2152a04bffc5ecad056c6432b73f84c8ed..aee90164acd07182618d8c484af0d9156af71924 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
 /* Inline register access functions */
 
-static inline void sp805_write_wdog_load(uintptr_t base, unsigned long value)
+static inline void sp805_write_wdog_load(uintptr_t base, uint32_t value)
 {
        mmio_write_32(base + SP805_WDOG_LOAD_OFF, value);
 }
 
-static inline void sp805_write_wdog_ctrl(uintptr_t base, unsigned long value)
+static inline void sp805_write_wdog_ctrl(uintptr_t base, uint32_t value)
 {
        mmio_write_32(base + SP805_WDOG_CTR_OFF, value);
 }
 
-static inline void sp805_write_wdog_lock(uintptr_t base, unsigned long value)
+static inline void sp805_write_wdog_lock(uintptr_t base, uint32_t value)
 {
        mmio_write_32(base + SP805_WDOG_LOCK_OFF, value);
 }
@@ -28,23 +28,23 @@ static inline void sp805_write_wdog_lock(uintptr_t base, unsigned long value)
 
 /* Public API implementation */
 
-void sp805_start(uintptr_t base, unsigned long ticks)
+void sp805_start(uintptr_t base, unsigned int ticks)
 {
        sp805_write_wdog_load(base, ticks);
        sp805_write_wdog_ctrl(base, SP805_CTR_RESEN | SP805_CTR_INTEN);
        /* Lock registers access */
-       sp805_write_wdog_lock(base, 0);
+       sp805_write_wdog_lock(base, 0U);
 }
 
 void sp805_stop(uintptr_t base)
 {
        sp805_write_wdog_lock(base, WDOG_UNLOCK_KEY);
-       sp805_write_wdog_ctrl(base, 0);
+       sp805_write_wdog_ctrl(base, 0U);
 }
 
-void sp805_refresh(uintptr_t base, unsigned long ticks)
+void sp805_refresh(uintptr_t base, unsigned int ticks)
 {
        sp805_write_wdog_lock(base, WDOG_UNLOCK_KEY);
        sp805_write_wdog_load(base, ticks);
-       sp805_write_wdog_lock(base, 0);
+       sp805_write_wdog_lock(base, 0U);
 }
index f00bcbac2caf1c18bba0262f76ad4f75f0f8a4ae..e7714a393275546af66e3b98ff2d0efcc4b66453 100644 (file)
@@ -1,23 +1,25 @@
 /*
- * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef __SP805_H__
-#define __SP805_H__
+#ifndef SP805_H
+#define SP805_H
+
+#include <utils_def.h>
 
 /* SP805 register offset */
-#define SP805_WDOG_LOAD_OFF            0x000
-#define SP805_WDOG_CTR_OFF             0x008
-#define SP805_WDOG_LOCK_OFF            0xc00
+#define SP805_WDOG_LOAD_OFF            UL(0x000)
+#define SP805_WDOG_CTR_OFF             UL(0x008)
+#define SP805_WDOG_LOCK_OFF            UL(0xc00)
 
 /* Magic word to unlock the wd registers */
-#define WDOG_UNLOCK_KEY                        0x1ACCE551
+#define WDOG_UNLOCK_KEY                        U(0x1ACCE551)
 
 /* Register field definitions */
-#define SP805_CTR_RESEN                        (1 << 1)
-#define SP805_CTR_INTEN                        (1 << 0)
+#define SP805_CTR_RESEN                        (U(1) << 1)
+#define SP805_CTR_INTEN                        (U(1) << 0)
 
 #ifndef __ASSEMBLY__
 
 
 /* Public high level API */
 
-void sp805_start(uintptr_t base, unsigned long ticks);
+void sp805_start(uintptr_t base, unsigned int ticks);
 void sp805_stop(uintptr_t base);
-void sp805_refresh(uintptr_t base, unsigned long ticks);
+void sp805_refresh(uintptr_t base, unsigned int ticks);
 
 #endif /* __ASSEMBLY__ */
 
-#endif /* __SP805_H__ */
+#endif /* SP805_H */